/*
对于水泵和过滤器，它们用不到PWM来进行调速，直接用GPIO操作是否开始工作即可
*/
#include "pinctrl.h"
#include "soc_osal.h"
#include "gpio.h"
#include "osal_debug.h"
#include "cmsis_os2.h"
#include "app_init.h"

#include "main.h"

//将某个引脚设置为GPIO模式下拉输出。其中GPIO4、GPIO5的模式0并不是GPIO（参见复用关系表），除此之外就都是模式0了
void gpio_init(pin_t pin)
{
    if(pin == 4)
        uapi_pin_set_mode(pin, PIN_MODE_2);
    else if(pin == 5)
        uapi_pin_set_mode(pin, PIN_MODE_4);
    else
        uapi_pin_set_mode(pin, PIN_MODE_0);
    uapi_gpio_set_dir(pin, GPIO_DIRECTION_OUTPUT);
    uapi_gpio_set_val(pin, GPIO_LEVEL_LOW);
}

//把所有需要用到GPIO的引脚一起初始化了。与灯光相关的引脚的初始化和控制都在文件ws2812中单独有定义，不在此一同进行
void init_all_gpio(void)
{
    gpio_init(BUMP_ACID);
    gpio_init(BUMP_ALKALI);
    gpio_init(BUMP_NUTRITION);
    gpio_init(HEATER);
    gpio_init(HUMIDIFIER);
    gpio_init(BUMP_NUTRITION);
}
